package cn.com.infosec.ra.service.perusercert;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import cn.com.infosec.ra.dao.perusercertdao.PerUserCertDao;
import cn.com.infosec.ra.entity.AdminOperatorEntity;
import cn.com.infosec.ra.entity.PerUserCertEntity;
import cn.com.infosec.ra.util.Pagination;
import cn.com.infosec.ra.util.Util;

@Service
public class PerUserCertServiceImpl implements PerUserCertService {

	@Resource
	private PerUserCertDao perUserCertDao;

	@Override
	public void addPerUserCert(PerUserCertEntity perUserCertEntity) {
		perUserCertDao.addPerUserCert(perUserCertEntity);
	}
	
	@Override
	public void addPerUserCertOracle(PerUserCertEntity perUserCert) {
		perUserCertDao.addPerUserCertOracle(perUserCert);
	}

	public PerUserCertDao getPerUserCertDao() {
		return perUserCertDao;
	}

	public void setPerUserCertDao(PerUserCertDao perUserCertDao) {
		this.perUserCertDao = perUserCertDao;
	}

	@Override
	public void updatePerUserCertbyId(PerUserCertEntity perUserCert) {
		perUserCertDao.updatePerUserCertbyId(perUserCert);

	}

	@Override
	public PerUserCertEntity findUserCertByCertDN(String certdn) {

		return perUserCertDao.findUserCertByCertDN(certdn);
	}

	@Override
	public void updatePerUserCertbyCertDN(PerUserCertEntity perUserCert) {
		perUserCertDao.updatePerUserCertbyCertDN(perUserCert);

	}

	@Override
	public PerUserCertEntity findUserCert(String accountholdername,
			int cardtype1, int nationality, String cardnum1) {
		return perUserCertDao.findUserCert(accountholdername, cardtype1,
				nationality, cardnum1);
	}

	@Override
	public Pagination<PerUserCertEntity> queryUserCertUnCheckedByPager(
			Pagination<PerUserCertEntity> perUserCertList) {
		List<PerUserCertEntity> userCertList = perUserCertDao
				.queryUserCertUnCheckedByPager(perUserCertList);
		List<PerUserCertEntity> userCertListAll = perUserCertDao
				.queryUserCertUnChecked();
		perUserCertList.setItems(userCertList);
		perUserCertList.setCount(userCertListAll.size());
		return perUserCertList;
	}

	@Override
	public PerUserCertEntity findUserCertById(long id) {
		return perUserCertDao.findUserCertById(id);
	}

	@Override
	public PerUserCertEntity findUserCertByCertSN(String certsn) {
		return perUserCertDao.findUserCertByCertSN(certsn);
	}

	@Override
	public Pagination<PerUserCertEntity> queryUserCertByConditionsInPager(
			PerUserCertEntity perUserCertConmand,
			Pagination<PerUserCertEntity> perUserCertList) {
		String endTime = "";
		if (!"0".equals(perUserCertConmand.getCertEndTime())) {
			endTime = Util.getQueryEndTime(Integer.valueOf(perUserCertConmand
					.getCertEndTime()));
		}
		String beginTime = Util.getCurrentDate();
		List<PerUserCertEntity> userCertList = perUserCertDao
				.queryUserCertByConditionsInPager(perUserCertConmand,
						perUserCertList,endTime,
						beginTime);
		List<PerUserCertEntity> userCertListAll = perUserCertDao
				.queryUserCertByConditions(perUserCertConmand, endTime,
						beginTime);
		perUserCertList.setItems(userCertList);
		perUserCertList.setCount(userCertListAll.size());
		return perUserCertList;
	}

	@Override
	public void updatePerUserCertBaseInfo(PerUserCertEntity perUserCert) {
		perUserCertDao.updatePerUserCertBaseInfo(perUserCert);
		
	}

	@Override
	public Pagination<PerUserCertEntity> queryUserCertUnCheckedByPagerOracle(
			Pagination<PerUserCertEntity> perUserCertList) {
		List<PerUserCertEntity> userCertList = perUserCertDao
				.queryUserCertUnCheckedByPagerOracle(perUserCertList);
		List<PerUserCertEntity> userCertListAll = perUserCertDao
				.queryUserCertUnChecked();
		perUserCertList.setItems(userCertList);
		perUserCertList.setCount(userCertListAll.size());
		return perUserCertList;
	}

	@Override
	public Pagination<PerUserCertEntity> queryUserCertByConditionsInPagerOracle(
			PerUserCertEntity perUserCertConmand,
			Pagination<PerUserCertEntity> perUserCertList) {
		String endTime = "";
		if (!"0".equals(perUserCertConmand.getCertEndTime())) {
			endTime = Util.getQueryEndTime(Integer.valueOf(perUserCertConmand
					.getCertEndTime()));
		}
		String beginTime = Util.getCurrentDate();
		List<PerUserCertEntity> userCertList = perUserCertDao
				.queryUserCertByConditionsInPagerOracle(perUserCertConmand,
						perUserCertList,endTime,
						beginTime);
		List<PerUserCertEntity> userCertListAll = perUserCertDao
				.queryUserCertByConditions(perUserCertConmand, endTime,
						beginTime);
		perUserCertList.setItems(userCertList);
		perUserCertList.setCount(userCertListAll.size());
		return perUserCertList;
	}

	

}
